Parallel and Distributed Simulation of Petri Nets

نویسنده

  • A. Ferscha
چکیده

The dynamics of discrete event systems can be e ectively described and analyized using the timed Petri net formalism. The aim of this tutorial is to comprehensively present the achievements attained in accelerating Petri net executions by using parallel or distributed multiprocessing environments. The basic problem is to generate concurrent Petri net executions insuring correctness in the sense that the partial ordering of transition rings produced is consistent with the total event ordering that would be produced by a (hypothetical) sequential execution. Two lines of thought have been followed: in parallel simulations transition rings evolve as governed by a SIMD iteration mechanism. Distributed simulations aim at a proper synchronization of rings in spatially di erent net parts to avoid timing inconsistencies and alterations of the execution behavior. In both cases, structural properties of the underlying Petri net can be e ciently used to simplify and/or accelerate concurrent execution implementations. 1 Petri Nets General Petri Nets (PNs) [54] can be classi ed with respect to the complexity of structure they employ. With decreasing restrictiveness in allowing structural constructs, the modeling power of the resulting PN class increases, and so does its analysis complexity. While analytical quantitative evaluation methods are feasible and tractable for less expressive PN classes and mainly exponential timing, simulation tends to be the only applicable method for analyzing general PN classes and versatile timing. Since simulation can become quite aggressive in the use of computational resources, parallel and distributed simulation techniques used with multiprocessors or distributed computing environments can still be a promising approach for the execution of complex simulation models. In this review we shall give a brief background on PNs and how they describe time dynamic discrete event systems. We show how qualitative properties of PNs are obtained, and how they can be used to realize their parallel or distributed execution. Since realizations of these concurrent executions are always implementation (software) and technology (hardware) dependent, we shall avoid presenting absolute execution performance here, and will study just the sources of parallelism which make speedup possible. PetriNets A Petri net (PN) is usually denoted by a tuple (P; T; F;W; (0)) where P is the set (p1; p2; : : : pP) of places graphically presented as cycles, T is (t1; t2; : : :tT ), the set of transitions drawn as bars, and F (P T ) [ (T P ) de nes an input-output relation to and from transitions, graphically represented by a set of directed arcs. (The introduction of inhibitory arcs or transition priorities raising the expressive power of PNs to that of Turing machines is straightforward and will not be presented here.) Seen as graph therefore, PN is bipartite among P and T with (a set of) input arcs I 2 (P T ) pointing from P to T and output arcs O 2 (T P ) pointing from T to P (equivalently, these relations can be seen as functions I (P T ) and O (T P )). The set of input places to t 2 T is denoted by I(t), analogously O(t) is its set of output places. I, O are used in a similar way for places. W : F 7! IN+ assigns weights w((p; t)) to arcs (p; t) 2 F to denote their multiplicity. (0) is a marking (vector) generated by the marking function M : P 7! IN0, expressing for every p the number of tokens (0)(p) initially assigned to it. The dynamic behavior of a PN is described in terms of two rules: (i) (enabling rule) A transition t 2 T is enabled in some marking i each of its input places holds a \su cient" amount of tokens, i.e. i 8p 2 I(t), (p) w((p; t)) in . E( ) is the set of all transitions enabled in . Every t 2 E( ) may or may not re. (ii) ( ring rule) When a transition t 2 T res in it creates 0 by removing a certain amount of tokens from its input places and depositing a certain amount of tokens in its output places: 8p 2 I(t)[O(t) 0(p) = (p) w((p; t))+w((t; p)). The ring of t in the marking (i) (reached after i other rings) is denoted by (i) t ! (i+1). Let w+ t;p = w((t; p)) be a shorthand for the multiplicity of the arc pointing from t to p, and w t;p = w((p; t)) respectively. Clearly, at;p = w+ t;p w t;p is the \amount of change" in the number of tokens in p caused by the ring of t. The set of all at;p (t 2 T , p 2 P ) de nes the \amount of change" for PN in the incidence matrix A = [at;p]. Now the enabling of t 2 T can be veri ed by the condition w t;p (p) 8p 2 I(t), and consecutive rings can be described as 3 (i) = (0) + AT i Xk=1uk (1) We read (i) here as a P 1 column vector showing the current number of tokens in pj in its j-th component ( (i) j = (i)(pj)). AT is the transposed of the T P matrix A, and uk is T 1 column vector having 1 in a single component and 0 in all others. Assume the ring vector uk to have the 1 in row l. Then the operation ATuk \selects" the l-th column of AT (row of A) containing the \amount of change" caused by ring tl, and the change in the marking can be simply determined by adding the vector al to . Repeated transition rings can be represented by cumulating ring vectors uk to a ring count vector x = Pik=1 uk, i.e. x counting in its l-th row the number of rings of tl 2 T that must occur to generate (i). Consequently, (j) (i) = = ATx is the marking di erence imposed by ring transitions with respect to x starting from (i) and ending up in (j). A vector x with strictly positive integer components that solves 0 = ATx does not impose any di erence on any when executing the corresponding rings (since = 0). x is called a T-invariant of PN, expressing that by ring tl 2 T for xl times starting in , the PN ends up in again, given that all the rings encoded in x are actually realizable. A dual interpretation exists for a P 1 vector y, which by its components yl \weighs" the changes caused by ring tl 2 T (encoded in row l of A) in such a way, that the overall change zeroes out (0 = Ay). An integer solution y to Ay = 0 is called a P-invariant, expressing that the weighted number of tokens = PPi=1 (j) i yi in the respective places pi is invariant over any reachable marking (j). In other words, the ring of transitions does not change . The set of places pi for which (j) i > 0 is called the support of the invariant, and is said to be minimal if no subset of it is a support. A minimal support P-invariant can always be found if a P-invariant exists, and any linear combination of a P-invariant is still a P-invariant. Many properties of PNs (useful in the context of parallel and distributed simulation) can be veri ed using invariants, they may however not exist for the particular PN under study. Practically, vectors y can be found by rewriting Ay = 0 as " A jr P rj 11 A jr rj A jT r P rj 21 A jT r rj 22 #" Y jP r 1j 1 Y jr 1j 2 # = 0 (2) where A is a submatrix of A having full rank r, and [Y1Y2] is the respective decomposition of Y . Then fromA11Y1+A12Y2 = 0 (the linearly independent part of (2)) we get Y2 = A 1A11Y1, which, by combining Y1 to the left-hand and right-hand side, gives " Y jP r 1j 1 Y jr 1j 2 # = " I jP r P rj A jr P rj 11 A jr rj #Y jP r 1j 1 : (3) Here I is a P r P r identity matrix (Y1 = IY1). Thus we get all possible P-invariants as vectors Y with integer coe cients. A marking (j) is said to be reachable from marking (i) if there exists a sequence of transitions = (tk; tl; : : :) such (i) tk ! (i+1) tl ! (i+2) tm ! (j), or (i) ! (j) for short. A necessary (but unfortunately not su cient) condition for reachability is directly obtained from the fact that if (0) ! (i), then a ring count vector x with ATx = (i) (0) = must exist, and BT = 0 must hold. (Multiply 1 by BT to verify this.) If on the other hand can be constructed as a linear combination of the columns of B, then (0) 6! (i). The set of all markings reachable from (i) is conveniently denoted by RS( (i)), and we must recognize that jRS( (i))j can be exponential as a function of P and the number of tokens in (0). Consider a few other properties of PNs: We call a PN k-bounded if in every 2 RS( (0)) the number of tokens in pi is less or equal to k. A 1-bounded PN is safe, a 1-bounded PN is unbounded. Most practical PNs reveal k-boundedness, even the stronger structural boundedness which guarantees i k for any nite (0). A PN is structurally bounded i there exists a vector y of positive integers such that Ay 0 (the opposite might not hold). A PN is conservative over a set of places P 0 P if the number of tokens is \conserved" over P 0 despite transition rings. As we can conclude from (2), a necessary and su cient condition for conservativeness is the existence of a P-invariant y, Ay = 0, with positive components refering to places p 2 P 0. A PN is persistent over a subset of transitions T 0 T if any t 2 T 0 can loose enabling only by its own ring, but not by the ring of some other transition t0 2 T . Finally, a PN is live over a subset of transitions T 0 T if for every t 2 T 0 and any marking 2 RS( (0)) there exists a marking 0 2 RS( ) such the enabling condition holds for t in 0 (note that a variety of 4 p 5 p 7 p 1 t 1 p 3 t 3 t 5 p 6 p 2 t 2 p 4 t 4 t 6 p 8 2 2 3 λ = 0.5 4 λ = 1.0 5 λ = 2.0 6 λ = 2.0 Figure 1: PN1: Communicating Processes with Resource Contention other de nitions of liveness is possible and useful [54]). A marking (i) is called a home state, if for every (j) 2 RS( (i)) there exists a ring sequence with (j) ! (i). Certainly all these properties can be veri ed based on an explicit knowledge of RS( (0)), but for the complexity of its construction one relies on the (polynomial time) structural analysis presented above. Example The net PN1 in Figure 1 models the behavior of a system of four computational (c-)processes (p5), operating in parallel to each other and to one I/O process (p6). Two c-processes after having done local computations (t5) compete with another c-process pair and the I/O process for two shared communication devices (e.g. channels, p7) to be able to communicate (t3). The local computation of the I/O process is conditioned on the availability of data produced by one of the other processes as represented by a token in p8. We refer to the net if place p8 is not present as PN1, and PN1' if it is.Neglecting for the moment the annotation of net and the di erent transition representations We obtain the following properties: PN1 is 4-bounded, not conservative over P , but over (p2; p4; p6) and (p3; p4; p7). It is persistent over (t3; t4; t5; t6), while t1 and t2 are not persistent: ring t2 in = (2; 1; 1; 0; 0;0;1)T will disable t1 and vice versa. The initial marking (0) = [0; 0; 0; 0;4;1; 2]T is a homestate. We nd the minimum support P-invariants y1 = [1; 0; 2; 0;1; 0; 0]T, y2 = [0; 0; 1; 1;0; 0; 1]T and y3 = [0; 1; 0; 1;0; 1; 0]T, saying that irrespective of any transition ring (i) 1 + 2 (i) 3 + (i) 5 = 4, (i) 3 + (i) 4 + (i) 7 = 2, and (i) 2 + (i) 4 + (i) 6 = 1 in any reachable marking (i) 2 RS( (0)). Two T-invariants exist: x1 = [1; 0; 1; 0;2; 0] and x2 = [0; 1; 0; 1; 0;1], expressing that if in (i) there exists a sequence to (exclusively) re t1, t3 and two times t5 yielding (i+4), (i) 0 ! (i+4), or a sequence 00 containing t t2, t4 and t6 s.t. (i) 00 ! (i+3), yielding (i+3), then (i) = (i+4) or (i) = (i+3). PN1', in contrast to PN1, is structurally unbounded due to the unboundedness of p8, and a home state does not exist. while having the same set of P-invariants, only has one T-invariant: x1 = [1; 2; 1; 2;2;2] which is intuitive due to the asynchronous coupling of t5 and t6 via p8. The most noticeable extension to \standard" PNs is the introduction of inhibitor arcs, i.e. arcs from places to transitions inverting the enabling rule (for enabling t the incident place must not have tokens). This possibility to test whether a condition does not hold, in order to re a transition, makes the expressive power of PNs equivalent to those of Turing machines. The same can be achieved by relating priorities to transitions and considering only enabled transitions at the highest priority level for ring. (a) (b) (d) (c) Figure 2: Structural Restricitions that classify PNs 5 time: t p 1 t 2 t 1 p 1 t 2 t 1 p 1 t 2 t 1 p 1 t 2 t 1 fires t 1 time: t τ time: t + τ time: t + token enables t 2 fires t 2 p 2 token arrives in τ τ τ τ Figure 3: Firing in Place-Timed PNs (PTPNs) PN classes Restricting the input-output relation F in a general PN to allow for transitions constructs only like those in Figure 2 (a) (jI(t)j = jO(t)j = 1 8t 2 T ) yields a class of nets known as state machines (SMs). Since transitions can neither create nor destroy tokens, transtitions can be removed from a SM yielding the classical representation of a nite state automaton, which it is. SMs can model concurrency and con ict (choice), but not synchronization. If F is restricted for places to structures like in Figure 2 (b) (jI(p)j = jO(p)j = 1 8p 2 P ), then PN is called a marked graph (MG). Places are redundant in MGs, and their removal yields what is well known as series parallel (task-)graphs. MGs can model concurrency and synchronization, but no con ict. The extension to MGs that allows multiple input to places but only single output from places as in Figure 2 (c) (jO(p)j = 1 8p 2 P ) is commonly called con ict free nets (CFNs). A PN that allows both constructs in Figure 2 (a) and (b), but not the construct in (d) (O(pi) \ O(pj) 6= ; ) jO(pi)j = jO(pj)j = 1 8pi; pj 2 P; i 6= j) is called a free choice net (FCN), which uni es (and extends) the power of SMs and MGs, but does not allow situations called confusion. In a FCN if two transitions have an input place in common, there is always a \free choice" of which one to re, i.e. no marking can exist in which one is enabled and the other is not. If there are markings possible such that the two transitions are simultaneously enabled, and others s.t. they are only enabled in isolation, then the ring evidently depends on the evolving of the net we have \confusion" (PN1 exhibits confusion around p7). Finally we refer to a PN that does not impose any of the restrictions in Figure 2 as a general net GN. A PN is called strongly connected if jI(t)j; jO(t)j; jI(p)j; jO(p)j 1 8t 2 T; 8p 2 P , irrespective of the speci c class PN belongs to. Most models in practice yield strongly connected PNs, i.e. neither source/sink places nor source/sink transitions do exist. Both PN1 and PN1' obey strong connectedness. Timing A PN executes transition rings instantaneously, i.e. no time is consumed, which is certainly su cient for reasoning about the quality of system behaviors (causalities, synchronization, etc.). To make the PN formalism adequate also for quantitative (i.e. performance) analysis, nite timing of activities can be expressed by associating a time concept to places, transitions, arcs, tokens, or any combination of them. Popular approaches are to assign ring times to transitions [64] representing the time interval during which a corresponding activity is going on, or holding times to places [69] modeling the time expired between the occurrence of events (an arriving token has to reside in the place for the holding time before it can enable a transition). Several equivalences among timing notions have been proven [25]. Figure 3 shows the ring semantics in a Place-Timed PN, i.e. : P 7! IR assigns holding times i to places pi 2 P , whereas Figure 4 shows the ring for a Transition-Timed PN, i.e. : T 7! IR assigns ring delays i to transitions ti 2 T . Figure 5 demonstrates how PTPNs can be transformed to TTPNs of equivalent modelling power. Probably the most popular time extension to PNs are Stochastic Petri Nets (SPNs), assigning exponentially distributed ring rates to transitions for continuous time (CT) systems, or geometrically distributed ring rates in case of discrete time (DT) systems. In both cases an isomorphism among the markings RS( (0)) and the states in a Markov chain (MC) can be proven, which allows to evaluate models in terms of CTMC or DTMC steady state or transient analysis. PN1 is a Generalized SPN (GSPN) [2], allowing a combination of nontimed (bars) and stochastically timed transitions (empty boxes), while still supporting embedded MC analysis. The same is true for Deterministic and SPNs (DSPNs) [3] where even deterministically timed transitions are allowed, but only in such a way that at most one of them can be enabled in any reachable marking. Generalized Timed PNs (GTPNs) [40] associate deterministic timing to transitions, 6 time: t p 1 t 2 t 1 p 1 t 2 t 1 p 1 t 2 t 1 p 1 t 2 t 1 fires t 1 time: t τ time: t + τ time: t + token reserved by t 2 fires t 2 p 2 token arrives at τ τ τ τ Figure 4: Firing in Transition-Timed PNs (TTPNs) τ t 3 p 1 t 4 t 1 t 2 τ t 3 p 1 t 4 t 1 t 2 p 1 ’ ’’ t 1 ’ PTPN TTPN τ = 0 τ = 0 τ = 0 τ = 0 Figure 5: Equivalence Transformation from PTPN to TTPN but by the con icting transitions in self-loops geometric ring times can be expressed. We shall consider mostly transition timing when talking about timed PNs (TPNs), and follow the convention of drawing deterministically timed transitions as thick bars, stochastically timed transitions as empty boxes and nontimed transitions as thin bars. (Both PN1 and PN1' are GSPNs, the ring rates are annotated to stochastic transitions.) Timed Enabling and Firing Semantics Important for modeling, analysis and simulation is how the timing concept attached to PNs modi es the enabling and ring rule of PNs: If 8p 2 I(t), (p) c w((p; t)) c > 1 in then t is said to be multiply enabled at degree c. If t can only \ re" (serve) one enabling at a time, we talk about single server (SS) (enabling) semantics, and in nite server (IS) semantics if any amount of enablings can be served at a time. If t1 in the SPN in Figure 6 followed SS, then the occurrence time ot(t1( i)) of t1 with the i-th token out of the four in p1 would be ot(t1( i)) = ot(t1( i 1)) + Xi, where Xi exp( 1) is an exponential variate. If t1 applied IS, then ot(t1( i)) = Xi 8 i, expressing a notion of parallelism among the tokens. The latter is useful in our interpretation of PN2 where tokens model machines subject to failure (t1) and repair (t2). Note that for memoryless distributions, a t with IS can be modeled as an appropriately \faster" SS transition by choosing a marking dependent rate, e.g. 1 1 for t1. In a PN with IS, SS can always be modeled by assigning to transitions a loop-back place marked with a single token. Both the enabling and the ring can be timed in a TPN. Timing the ring is straightforward. If the enabling is timed, then for SMs, FCNs and GNs (but not for MGs and CFNs) two questions arise related to timing: (i) should it be allowed to preempt the enabling, and if so, (ii) how should intermediate \work" be memorized. In a policy with non-preemptive enabling semantics, once t becomes enabled it is decided p 1 t 1 1 λ p 2 t 2 2 λ Figure 6: PN2: A TPN with Model Parallelism 7 class De nition Modeling Power State Machines (SM) jI(t)j = jO(t)j = 1 8t 2 T concurrency, con ict Marked Graphs (MG) jI(p)j = jO(p)j = 1 8p 2 P concurrency, synchronization Con ict Free nets (CFN) jO(p)j = 1 8p 2 P concurrency, synchronization, con ict excluded Free Choice nets (FCN) O(pi) \ O(pj ) 6= ; ) concurrency, con ict, synchronization jO(pi)j = jO(pj )j = 1 8pi; pj 2 P; i 6= j General nets (GN) no restriction concurrency, con ict, synchronization, confusion Class Type of Enabling Delay (ti) Analysis Techniques nontimed PN (ti) = 0 no quantitative analysis possible Timed MG (ti) 2 recurrence equations fIN; IR;geom( ); exp( );discr.-general; cont.-generalg Timed GN (ti) 2 simulation fIN; IR;geom( ); exp( );discr.-general; cont.-generalg Discr./Cont. Time (ti) geom( ) 8 ti 2 T isomorphic to DTMC/CTMC Stochastic PN (ti) exp( ) 8 ti 2 T standard steady-state/transient anal. Discr./Cont. Time (ti) 2 f0;geom( )g 8 ti 2 T , \memoryless" RET isomorphic to DTMC/CTMC Generalized SPN (ti) 2 f0; exp( )g 8 ti 2 T , \memoryless" RET standard steady-state/transient anal. Non-memoryless as with D/C GSPNs, but ringpolicy with semi-Markov (DTMC/CTMC) RET D/C GSPNs absence of memory at regeneration points analysis on embedded MC Deterministic (ti) 2 f0; IR; exp( )g, at most 1 determ. steady-state analysis by and Stochastic PN transition enabled in each marking method of supplementary variables GN (ti) = f( ) (user de ned, arbitrary timing) simulation Figure 7: Modeling Power versus Complexity of Solution whether it should re. If t res, it removes tokens from I(t) (startring event), \hides" tokens during the ring period, and after that releases tokens to O(t) (endring event). This policy is know as preselection (PS), since in cases of con ict among t and t0 one of them is preselected for ring. Atomic ring (AF) refers to a policy where t, once it becomes enabled, its ring is delayed to the instant when the enabling time (t) has expired. If t is still enabled at that time, it res exactly like in a PN. For the case where t looses enabling during that period, either a new, resampled (t), or the non expired part of (t) (age memory) is used for the eventual new enabling of t. While with PS con icts (among timed transitions) are resolved by prede ned mechanisms like random switches or priorities (from \outside"), AF resolves (timed) con icts always and entirely by the race condition (from \inside\). Real systems with race conditions, like timers controling activities, cannot be modeled by TPNs with PS. Opposed to timing the enabling, timing the ring does not impose any di culty (always non-preemptive). The nal adaptation of the enabling and ring rules for PNs to TPNs is, that we have to replace the \mayor-may-not re" rule to a \must re" rule in order to make timing meaningful. Discrete Event Systems The execution of a TPN can now be interpreted as a time dynamic discrete event system in various di erent ways. If oriented along the places p 2 P , the token arrival and departure events (in case of the PS policy also the token reservation events), characterize the dynamic behavior of a system. More natural is the transition oriented view, where transition rings are related to event occurrences, while places represent the conditions that need to hold for the event to occur; e.g. in Figure 6 the ring of t1 represents the occurrence of a \machine failure" event, etc. Modelling Power vs. Analysis Complexity Both the net class as well as the timing notion in PNs have impact on their qualitative and quantitative analysis. E.g. , working with PN models for realistically sized systems one frequently arrives at the limits of practical tractability of the analytical evaluation. Therefore, and due to the limitations of modeling power of net classes with tractable analytical solutions, simulation often remains as the only practical technique to obtain performance indices. The tables in Figure 7 summarizes this situation. Taking just the class of timed Petri nets having an underlying stochastic process which is Markov [53] semi-Markov [1] or semi-regenerative [22] as an argument, it requires the knowledge of the in nitesimal generator Q (to solve e.g. for ~ Q = ~0 subject to Psi2RS( (0) ) i = 1), i.e. the enumeration of all states RS( (0)) reachable from the initial marking (0). RS( (0)), however, is potentially exponential in the number of places jP j and the number of tokens in the initial marking, yielding a space and a computational problem for analytical evaluation. The complexity of generating the state space is re ected in the computational complexity of deciding whether given a PN and a marking : 9 s:t: (0) ! ? (\reachability problem"). Although decidable [51], this problem is known to be exp-space-complete for symmetric PNs, Pspace-complete if jI(t)j = jO(t)j = c 8t 2 T and for safe PNs, NP-complete for PNs without cycles and CFNs, and polynomial only for bounded CFNs, for MGs, and for live, bounded, strongly connected FCNs. 8 But also simulation is not devoid of shortcomings. Existing (sequential) Petri net simulators tend to augmented computational requirements for realistically large nets. The hope of parallel (and distributed) simulation techniques now is to alleviate these shortcomings by applying multiple processors to reduce simulation time, or in other words, preserve modeling power by at the same time improving the complexity of the analysis. In the sequel of this presentation we shall systematically look at possibilities of improving the complexity of quantitative analysis by employing parallel processing facilities. 2 Simulation Modeling and Analysis Basically every simulation model is a speci cation of a physical system (or at least some of its components) in terms of a set of states and events. Performing a simulation thus means mimicking the occurrence of events as they evolve in time and recognizing their e ects as represented by states. Future event occurrences induced by states have to be planned (scheduled). In a discrete simulation the occurrence of an event is instantaneous and xed to a selected point in time. Two kinds of discrete simulation have emerged that can be distinguished with respect to the way simulation time is progressed. In time driven discrete simulation simulated time is advanced in time steps (or ticks) of constant size , or in other words the, observation of the simulated dynamic system is discretized by unitary time intervals. The choice of interchanges simulation accuracy and elapsed simulation time: ticks short enough to guarantee the required precision generally imply longer simulation time. Intuitively, for event structures irregularly dispersed over time, the time-driven concept generates ine cient simulation algorithms. Event driven discrete simulation discretizes the observation of the simulated system at event occurrence instants. We shall refer to this kind of simulation as discrete event simulation (DES) subsequently. A DES, when executed sequentially repeatedly processes the occurrence of events in simulated time (often called \virtual time", VT) by maintaining a time ordered event list (EVL) holding timestamped events scheduled to occur in the future, a (global) clock indicating the current time and state variables S = (s1; s2; : : : sn) de ning the current state of the system (see Figure 8). A simulation engine (SE) drives the simulation by continuously taking the rst event out of the event list (i.e. the one with the lowest timestamp), simulating the e ect of the event by changing the state variables and/or scheduling new events in EVL { possibly also removing obsolete events. This is performed until some pre-de ned endtime is reached, or there are no further events to occur. VT EVL S e i e j e k s 1 s 2 s 3 s 4 s N Figure 8: Simulation Engine for Discrete Event Simulation As an example (see Figure 9), assume a physical system of two machines participating in a manufacturing process. In a preprocessing step, one machine produces two subparts A1 and A2 of a product A, both of which can be assembled concurrently. Part A1 requires a single, whereas A2 takes a nonpredictable amount of assembly steps. Once one A1 and one A2 are assembled (irrespective of the machine that assembled it) one piece of a A is produced. The system is modelled in terms of a Petri net (PN): transition t1 models the preprocessing step and the forking of independent postprocessing steps, t2 and t3. Machines in the preprocessing phase are represented by tokens in p1, nished parts A1 by tokens in p5 and nished or \still in assembly" parts A2 by tokens in p4. Once there is at least one token in p5 and at least one token in p4, the assembly process stops or repeats with equal probability (con ict among t4 and t5). Once the assembly process terminates yielding one A, one machine is released (t5). The time behavior of the physical system is modelled by associating timing information to transitions ( (t1) = 3, (t2) = (t3) = 2 and (t4) = (t5) = 0). This means that a transition ti that became enabled by the arrival of tokens in the input places at time t and remained enabled (by the presence of tokens in the input places) during [t; t+ (ti)). It res at time t+ (ti) by removing tokens from input places and depositing tokens in ti's output places. The initial state of the system is represented by the marking of the PN where place p1 has 2 tokens (for 2 machines), and no tokens are available in any other place. Both the time driven and the event driven DES of the PN are illustrated in Figure 9. 9 VT S p 1 p 2 p 3 p 4 p 5 2 0 0 0 0 Time Driven Simulation 2 0 0 0 0 2 0 0 0 0 1 1 1 0 0 0 2 2 0 0 0 2 1 0 1 1 1 0 0 1 1 0 0 1 1 1 1 1 0 0 1 1 1 0 0 1 0 1 1 0 1 1 1 0 0 VT EVL S t 1 t 1 p 1 p 2 p 3 p 4 p 5 2 0 0 0 0 t 1 t 2 t 3 1 1 1 0 0 t 2 t 2 t 3 t 3 0 2 2 0 0 t 2 t 2 t 3 0 2 1 0 1 t 2 t 3 t 4 t 5 0 1 1 1 1 t 3 t 4 t 4 t 5 0 0 1 2 1 t 3 t 4 t 1 1 0 1 1 0 t 3 t 2 t 1 1 1 1 0 0 t 2 t 1 1 1 0 0 1 t 4 t 5 t 1 1 0 0 1 1 t 1 t 1 2 0 0 0 0 Event Driven Simulation t 1 t 2 t 3 1 1 1 0 0 t 1 p 1 p 2 p 3 p 4 p 5 t2 t 3 t 4 t 5 3.0

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Modeling of Continuous Systems Using Modified Petri Nets

Due to the changes which may occur in their parameters, systems are usually demonstrated by some subsystems for different conditions. This paper employs Modified Petri Nets (MPN) to model theses subsystems and makes it simple to analyze them. In this method, first, the continuous transfer function is converted to a discrete transfer function and then, by MPN, system is modeled and analyzed. All...

متن کامل

Modelling Mappings of Parallel Programs onto Parallel Architectures with the Prm-net Model

For parallel systems constituted by communicating sequential processes executing on multiprocessor hardware with distributed memory, a Petri net based hierarchically de-composable integrated model, the PRM-net model has been developed. PRM-nets (Program Resource Mapping-nets) provide a modular concept for modelling parallel programs or algorithms with a Petri net like graphical formalism called...

متن کامل

Music Analysis and Modeling Through Petri Nets

Petri Nets are a formal tool for studying systems that are concurrent, asynchronous, distributed, parallel, nondeterministic, and/or stochastic. They were used in a number of real-world simulations and scientific problems, but seldom considered an effective means to describe and/or generate music. The purpose of this paper is demonstrating that Petri Nets (enriched with some peculiar extensions...

متن کامل

Hybrid Time Delay Petri Nets as a Mathematical Novel Tool to Model Dynamic System with Current Sample Time

The existing modeling methods using Petri Nets‎, ‎have been successfully applied to model and analyze dynamic systems‎. ‎However‎, ‎these methods are not capable of modeling all dynamic systems such as systems with the current sample time signals‎, ‎systems including various subsystems and multi-mode systems‎. ‎This paper proposes Hybrid Time Delay Petri Nets (HTDPN) to solve the problem‎. ‎In ...

متن کامل

A Distributed Discrete Event Simulation Framework for Timed Petri Net Models

Parallel and distributed simulation techniques are consolidating as a potentially eeective way of improving elapsed time for discrete event simulation experiments of large system models. The common aim to all the approaches is to divide a single simulation program into logical processes (LPs) to be executed concurrently on individual processing nodes of a parallel computer. Two issues are criti...

متن کامل

Stochastic Modeling and Analysis Using QPME: Queueing Petri Net Modeling Environment v2.0

Queueing Petri nets are a powerful formalism that can be exploited for modeling distributed systems and analyzing their performance and scalability. By combining the modeling power and expressiveness of queueing networks and stochastic Petri nets, queueing Petri nets provide a number of advantages. In this paper, we present our tool QPME (Queueing Petri net Modeling Environment) for modeling an...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995